﻿// 602 数数.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <memory.h>
#include <algorithm>
using  namespace std;



/*
http://oj.daimayuan.top/course/5/problem/246
读入 l,r，请求出 [l,r]
 中有多少个数字满足数字中任意相邻两个数位的差的绝对值不超过 2。

输入格式
一行两个整数 l,r。

输出格式
一行一个整数表示答案。

样例输入
1 100
样例输出
51
数据范围
对于 100% 的数据，保证 1≤l≤r≤1016。
*/

/*
int c[21];
long long l, r, f[21][10][2];

long long  calc(long long n) {
    if (!n) return 0;
    int m = 0;
    for (; n; n /= 10)
        c[++m] = n % 10;
    for (int i = 1, j = m; i < j; i++, j--)
        swap(c[i], c[j]);
    long long res = 0;
    bool ok = true;
    for (int i = 1; i <= m && ok; i++) {
        for (int j = 0; j < c[i]; j++) {
            if (i != 1 && abs(j - c[i - 1]) > 2)
                continue;
            memset(f, 0, sizeof f);
            if (i == 1 && !j)
                f[i][j][0] = 1;
            else
                f[i][j][1] = 1;

            for(int k = i+1;k<=m;k++)
                for(int l=0;l <10;l++)
                    for(int  r = 0;r<2;r++)
                        if(f[k-1][l][r])
                            for (int x = 0; x < 10; x++) {
                                if (r && abs(l - x) <= 2)
                                    f[k][x][r] += f[k - 1][l][r];
                                if (!r)
                                    if (!x)
                                        f[k][0][0] += f[k - 1][0][0];
                                    else
                                        f[k][x][1] += f[k - 1][0][0];
                            }

            for (int j = 0; j < 10; j++) {
                res += f[m][j][1];
            }
        }
        if (i != 1 && abs(c[i] - c[i - 1]) > 2)
            ok = false;
    }

    if (ok)
        ++res;
    return res;
}


int main()
{
    scanf("%lld%lld", &l, &r);
    printf("%lld\n", calc(r) - calc(l - 1));

}
*/


int c[21];
long long l, r, f[21][10][2][2];

long long calc(long long n) {
    if(!n) return 0;
    int m = 0;
    for (; n; n /= 10)
        c[++m] = n % 10;
    for (int i = 1, j = m; i < j; i++, j--)
        swap(c[i], c[j]);
    long long res = 0;
    memset(f, 0, sizeof f);
    f[0][0][0][1] = 1;
    for(int i =1;i <=m;i++)
        for(int j =0;j<10;j++)
            for(int k =0;k<2;k++)
                for(int l =0;l<2;l++)
                    if(f[i-1][j][k][l])
                        for (int x = 0; x < 10; x++) {
                            if (l && x > c[i])
                                continue;
                            if (l) {
                                if (x < c[i])
                                    if (!k) {
                                        if (!x)
                                            f[i][0][0][0] += f[i - 1][j][k][l];
                                        else
                                            f[i][x][1][0] += f[i - 1][j][k][l];
                                    }
                                    else {
                                        if (abs(j - x) <= 2)
                                            f[i][x][1][0] += f[i - 1][j][k][l];
                                    }
                                else
                                    if (!k)
                                        f[i][x][1][1] += f[i - 1][j][k][l];
                                    else
                                        if (abs(j - x) <= 2)
                                            f[i][x][1][1] += f[i - 1][j][k][l];
                            }
                            else {
                                if (!k) {
                                    if (!x)
                                        f[i][0][0][0] += f[i - 1][j][k][l];
                                    else
                                        f[i][x][1][0] += f[i - 1][j][k][l];
                                }
                                else {
                                    if (abs(j - x) <= 2)
                                        f[i][x][1][0] += f[i - 1][j][k][l];
                                }
                            }
                        }



    for (int i = 0; i < 10; i++) {
        res += f[m][i][1][0] + f[m][i][1][1];
    }
    return res;
}



int main()
{
    scanf("%lld%lld", &l, &r);
    printf("%lld\n", calc(r) - calc(l - 1));
}